﻿using System;
// 当对象被实例化时，初始化按以下顺序进行：
//(1)从子类到基类
//  a.初始化字段
//  b.指定被调用基类的构造方法中的变量
//（2）从基类到子类
//  a.构造方法体执行

namespace _040_构造方法和字段初始化的顺序
{
    public class B
    {
        int x = 0; // 第三个执行
        public B(int x)
        {
            // 第四个执行
        }
    }
    public class D : B
    {
        int y = 0;//第一个执行
        public D(int x) : base(x + 1) // 第二个执行
        {
            // 第五个执行
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}